Some storage devices support flush commands, which instruct the storage device to transfer the data immediately from volatile memory to non-volatile storage. Various types of flush operations are known in the art. For example, U.S. Patent Application publication 2011/0252201, whose disclosure is incorporated herein by reference, describes smart flushing of data to backup storage.
U.S. Patent Application publication 2015/0106410, whose disclosure is incorporated herein by reference, describes a Solid State Drive (SSD) comprising Flash devices and a volatile memory. In an embodiment, a host sends to the SSD a command to flush a certain file or part of a file, or data relating to a particular storage command (e.g., thread or tag) from the volatile memory to the Flash devices.
U.S. Patent Application publication 2015/0220439, whose disclosure is incorporated herein by reference, describes block storage schemes that decouple ordering from durability. One example scheme buffers write commands and causes the write commands to be committed to storage in flush epoch order. Another example scheme maintains a persistent log of write commands that are arranged in the persistent log in flush epoch order. Both examples provide a prefix consistent state in the event of a crash.